package com.ouheng.shop.service.impl;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.ouheng.shop.dao.NoticeDao;
import com.ouheng.shop.domain.CouponDO;
import com.ouheng.shop.domain.NoticeDO;
import com.ouheng.shop.service.NoticeService;



@Service
public class NoticeServiceImpl implements NoticeService {
	@Autowired
	private NoticeDao noticeDao;
	
	@Override
	public NoticeDO get(Long id){
		return noticeDao.get(id);
	}
	
	@Override
	public List<NoticeDO> list(Map<String, Object> map){
		return noticeDao.list(map);
	}
	
	@Override
	public int count(Map<String, Object> map){
		return noticeDao.count(map);
	}
	
	@Override
	@Transactional
	public int save(NoticeDO notice){
//		List<NoticeDO> listNotice = noticeDao.list(null);
//		if(listNotice.isEmpty()){
//			notice.setStatus("2");
//		}else{
//			if("2".equals(notice.getStatus())){
//				Map<String, Object> map = new HashMap<>();
//				map.put("status", 2);
//				List<NoticeDO> listNoticeDO = noticeDao.list(map);
//				for (NoticeDO noticeDO : listNoticeDO) {
//					noticeDO.setStatus("1");
//					noticeDao.update(noticeDO);
//				}
//			}
//		}
		return noticeDao.save(notice);
	}
	
	@Override
	@Transactional
	public int update(NoticeDO notice){
//		if("2".equals(notice.getStatus())){
//			Map<String, Object> map = new HashMap<>();
//			map.put("status", 2);
//			List<NoticeDO> list = noticeDao.list(map);
//			if(!list.isEmpty()){
//				for (NoticeDO noticeDO : list) {
//					noticeDO.setStatus("1");
//					noticeDao.update(noticeDO);
//				}
//			}
//		}
		return noticeDao.update(notice);
	}
	
	@Override
	@Transactional
	public int remove(Long id){
		return noticeDao.remove(id);
	}
	
	@Override
	@Transactional
	public int batchRemove(Long[] ids){
		return noticeDao.batchRemove(ids);
	}
	
}
